package com.enjoyor.soa.traffic.api.ubms.service.dubbo;

import com.enjoyor.soa.traffic.api.ubms.dto.LedConfigInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 维护信息板配置信息的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
public interface DubboLedConfigInfoService {
	
	/**
	 * 返回所有信息板配置信息
	 * @return ResultPojo 所有信息板配置信息
	 */
	public ResultPojo getLedConfigInfo();

	/**
	 * 分页返回所有信息板配置信息
	 * @param page 分页对象
	 * @return ResultPojo 包含信息板配置信息的分页对象
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageLedConfigInfo(Page page);
	
	/**
	 * 根据信息板编码返回配置信息
	 * @param ledId 信息板编码
	 * @return ResultPojo 信息板配置信息
	 */
	public ResultPojo getLedConfigInfoById(String ledId);
	
	/**
	 * 根据信息板类型返回配置信息
	 * @param ledType 信息板类型
	 * @return ResultPojo 信息板配置信息
	 */
	public ResultPojo getLedConfigInfoByType(String ledType);
	
	/**
	 * 添加一条信息板配置信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param ledConfigInfoDto 信息板配置信息
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo addLedConfigInfo(String token, LedConfigInfoDto ledConfigInfoDto);

	/**
	 * 修改一条信息板配置信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param ledConfigInfoDto 信息板配置信息
	 * @return ResultPojo 修改结果
	 */
	public ResultPojo editLedConfigInfo(String token, LedConfigInfoDto ledConfigInfoDto);

	/**
	 * 删除指定编码的信息板配置信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param ledId 信息板编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeLedConfigInfo(String token, String ledId);
}
